<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Date Picker</title>
<style type="text/css">
body{margin:0px;padding:0px;}
a{text-decoration:none;}
.CalendarRed{width:100%;height:100%;}
.CalendarRed td{border:1px #F3F3F3 solid;text-align:center;}
.CalendarRed td.SelectedDay{background:#E5E5E5;color:red;}
.CalendarRed tr.TitleBar td{font-weight:bold;background:#9b9b9b;color:#FFF;}
.CalendarRed tr.TitleBar td a{color:#FFFFFF;}
.CalendarRed tr.Days td{}
.CalendarRed tr.Days td a{color:#000000;}
.CalendarRed tr.Days td a:hover{background:#FFCCCC;}
.CalendarRed .WeekName td{font-weight:bold;}
.CalendarRed{border-collapse:collapse;font:normal 12px Verdana, Arial, sans-serif;background:#FFFFFF;border:1px red solid;}
</style>
<script type="text/javascript">
<!--
ReturnFunc = '';
function Calendar(iYear, iMonth, iDay, ContainerId, ClassName)
{
	MonthNames = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
	//If no parameter is passed use the current date.
	oDate = new Date();
	Year = (iYear == null) ? oDate.getFullYear() : iYear;
	Month = (iMonth == null) ? oDate.getMonth() : iMonth - 1;
	while(Month < 0){Month += 12;Year--}
	while(Month >= 12){Month -= 12;Year++}
	Day = (iDay == null) ? 0 : iDay;
	oDate = new Date(Year, Month, 1);
	NextMonth = new Date(Year, Month + 1, 1);
	WeekStart = oDate.getDay();
	// Get the number of months in current month
	MonthDays = Math.round((NextMonth.getTime() - oDate.getTime()) / 86400000) + 1;
	// Check whether the Container Id is null
	if(ContainerId != null)
	{
		ContainerId = ContainerId;
		Container = document.getElementById(ContainerId);
		// If an element doesnot exists with the given ContainerId then create it
		if(!Container)
			document.write('<div id="' + ContainerId + '">&nbsp;</div>');
	}
	else
	{
		// Loop until a unique id is obtained for the container
		do
		{
			ContainerId = 'tblCalendar' + Math.round(Math.random() * 1000);
		}
		while(document.getElementById(ContainerId));
		// create an element with the new id
		document.write('<div id="' + ContainerId + '">&nbsp;</div>');
	}
	Container = document.getElementById(ContainerId);
	ClassName = (ClassName == null) ? 'tblCalendar' : ClassName;
	HTML = '<table class="' + ClassName + '" cellspacing="0">';
	// Title bar
	HTML += '<tr class="TitleBar"><td class="Nav"><a href="javascript:void(0)" onMouseDown="Calendar(' + Year + ', ' + Month + ', ' + Day+', \''+ContainerId+'\', \''+ClassName+'\');">&laquo;</a></td><td colspan="5" class="Title">' + MonthNames[Month] + ' ' + Year + '</td><td class="Nav"><a href="javascript:void(0)" onMouseDown="Calendar(' + Year + ', ' + (Month + 2) + ', ' + Day+', \''+ContainerId+'\', \''+ClassName+'\');">&raquo;</a></td></tr>';
	// Week Names
	HTML += '<tr class="WeekName"><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr>';
	HTML += '<tr class="Days">';
	// Fill the previous month days with space
	for(DayCounter = 0; DayCounter < WeekStart; DayCounter++)
	{
		HTML += '<td>&nbsp;</td>';
	}
	// Populate current month
	for(DayCounter = 1; DayCounter < MonthDays; DayCounter++)
	{
		if((DayCounter + WeekStart) % 7 == 1) HTML += '<tr class="Days">';
		if(DayCounter == Day)
			HTML += '<td class="SelectedDay"><a href="javascript:ReturnDate(' + DayCounter + ')">' + DayCounter + '</a></td>';
		else HTML += '<td><a href="javascript:ReturnDate(' + DayCounter + ')">' + DayCounter + '</a></td>';
		if((DayCounter + WeekStart) % 7 == 0) HTML += '</tr>';
	}
	// Fill the next month days with space
	for(j = (42 - (MonthDays + WeekStart)), DayCounter = 0; DayCounter <= j; DayCounter++)
	{
		HTML += '<td>&nbsp;</td>';
		if((j - DayCounter) % 7 == 0) HTML += '</tr>';
	}
	HTML += '</table>';
	Container.innerHTML = HTML;
	// Returns Id of the element containing the calendar
	return ContainerId;
}
function ReturnDate(Day)
{
	Month = Month+1;
	if (Day < 10){Day = '0' +Day;}
	if (Month < 10){Month = '0' +Month;}
	opener.SetDateFinish(Day, Month, Year);
	window.close();
}
function MakeDate(iYear, iMonth, iDay, fn)
{
	D = new Date();
	Year = (typeof(iYear) != 'undefined') ? iYear : D.getFullYear();
	Month = (typeof(iMonth) != 'undefined') ? iMonth : D.getMonth();
	Day = (typeof(iDay) != 'undefined') ? iDay : D.getDate();
	ReturnFunc = fn;
	id = Calendar(Year, Month+1, Day, 'cal', 'CalendarRed');
}
//-->
</script>
</head>

<body style="width:400px" onLoad="MakeDate();">
<div id='cal'>&nbsp;</div>
</body>
</html>
